'\" t
.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com>
.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: GPL-3.0-or-later
.\"
.TH proc_kpageflags 5 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
/proc/kpageflags \- physical pages frame masks
.SH DESCRIPTION
.TP
.IR /proc/kpageflags " (since Linux 2.6.25)"
This file contains 64-bit masks corresponding to each physical page frame;
it is indexed by page frame number (see the discussion of
.IR /proc/ pid /pagemap ).
The bits are as follows:
.RS
.IP
.TS
r l l l.
0	-	KPF_LOCKED
1	-	KPF_ERROR
2	-	KPF_REFERENCED
3	-	KPF_UPTODATE
4	-	KPF_DIRTY
5	-	KPF_LRU
6	-	KPF_ACTIVE
7	-	KPF_SLAB
8	-	KPF_WRITEBACK
9	-	KPF_RECLAIM
10	-	KPF_BUDDY
11	-	KPF_MMAP	(since Linux 2.6.31)
12	-	KPF_ANON	(since Linux 2.6.31)
13	-	KPF_SWAPCACHE	(since Linux 2.6.31)
14	-	KPF_SWAPBACKED	(since Linux 2.6.31)
15	-	KPF_COMPOUND_HEAD	(since Linux 2.6.31)
16	-	KPF_COMPOUND_TAIL	(since Linux 2.6.31)
17	-	KPF_HUGE	(since Linux 2.6.31)
18	-	KPF_UNEVICTABLE	(since Linux 2.6.31)
19	-	KPF_HWPOISON	(since Linux 2.6.31)
20	-	KPF_NOPAGE	(since Linux 2.6.31)
21	-	KPF_KSM	(since Linux 2.6.32)
22	-	KPF_THP	(since Linux 3.4)
23	-	KPF_BALLOON	(since Linux 3.18)
.\" KPF_BALLOON: commit 09316c09dde33aae14f34489d9e3d243ec0d5938
24	-	KPF_ZERO_PAGE	(since Linux 4.0)
.\" KPF_ZERO_PAGE: commit 56873f43abdcd574b25105867a990f067747b2f4
25	-	KPF_IDLE	(since Linux 4.3)
.\" KPF_IDLE: commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738
26	-	KPF_PGTABLE	(since Linux 4.18)
.\" KPF_PGTABLE: commit 1d40a5ea01d53251c23c7be541d3f4a656cfc537
.TE
.RE
.IP
For further details on the meanings of these bits,
see the kernel source file
.IR Documentation/admin\-guide/mm/pagemap.rst .
Before Linux 2.6.29,
.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
.BR KPF_WRITEBACK ,
.BR KPF_RECLAIM ,
.BR KPF_BUDDY ,
and
.B KPF_LOCKED
did not report correctly.
.IP
The
.I /proc/kpageflags
file is present only if the
.B CONFIG_PROC_PAGE_MONITOR
kernel configuration option is enabled.
.SH SEE ALSO
.BR proc (5)
